package com.atguigu.eduservice.service;

import com.atguigu.eduservice.entity.EduCourse;
import com.atguigu.eduservice.entity.dto.CourseAddDto;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * <p>
 * 课程 服务类
 * </p>
 *
 * @author Mr.Alan
 * @since 2020-08-16
 */
public interface EduCourseService extends IService<EduCourse> {

    /**
     * 添加课程基础信息
     */
    String saveCourseInfo(CourseAddDto courseAddDto);

    /**
     * 更新课程基础信息
     */
    String updateCourseInfo(CourseAddDto courseAddDto);

    /**
     * 删除课程的时候级联删除相关的数据
     */
    boolean removeCourseById(String id);

    /**
     * 下架课程
     */
    boolean offShelfCourse(String id);

    /**
     * 通过章节ID下架课程
     */
    boolean offShelfCourseByChapterId(String chapterId);

    /**
     * 通过id获取课程信息
     */
    CourseAddDto getInfoById(String id);

    /**
     * 获取课程的详细信息
     */
    Map<String, Object> getCourseInfo(String id);
}
